package com.sgcc.operate.mapper;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.sgcc.operate.domain.OActiStat;
import org.apache.ibatis.annotations.Param;

/**
 * 活动趋势统计Mapper接口
 * 
 * @author sgcc
 * @date 2021-03-31
 */
public interface OActiStatMapper 
{
    /**
     * 查询活动趋势统计
     * 
     * @param statDate 活动趋势统计ID
     * @return 活动趋势统计
     */
    public OActiStat selectOActiStatById(String statDate);

    /**
     * 查询活动趋势统计列表
     * 
     * @param oActiStat 活动趋势统计
     * @return 活动趋势统计集合
     */
    public List<OActiStat> selectOActiStatList(OActiStat oActiStat);

    /**
     * 新增活动趋势统计
     * 
     * @param oActiStat 活动趋势统计
     * @return 结果
     */
    public int insertOActiStat(OActiStat oActiStat);

    /**
     * 修改活动趋势统计
     * 
     * @param oActiStat 活动趋势统计
     * @return 结果
     */
    public int updateOActiStat(OActiStat oActiStat);

    /**
     * 删除活动趋势统计
     * 
     * @param statDate 活动趋势统计ID
     * @return 结果
     */
    public int deleteOActiStatById(String statDate);

    /**
     * 批量删除活动趋势统计
     * 
     * @param statDates 需要删除的数据ID
     * @return 结果
     */
    public int deleteOActiStatByIds(String[] statDates);

    List<OActiStat> statistic1(@Param("type") String type, @Param("actiId") String actiId);

    List<OActiStat> statistic2(
            @Param("type") String type,
            @Param("actiId") String actiId,
            @Param("beginDate") Date beginDate,
            @Param("endDate") Date endDate
    );

    List<Map<String, Object>> statistic3(@Param("actiId") String actiId);

    List<Map<String, Object>> statistic4(@Param("actiId") String actiId, @Param("areaNo") String areaNo);
}
